package com.etooling.pdm.entity;


import com.etooling.framework.entity.Employee;
import com.etooling.framework.svo.AbstractEntity;
import lombok.Data;

import javax.persistence.*;
import java.util.Date;


@Data
@Entity
@Table(name = "t_bom", schema = "pdm")
public class Bom extends AbstractEntity {

    public static final String STATUS_NEW = "新建";
    public static final String WAIT_AUDIT = "待审批";
    public static final String STATUS_RUN = "启用中";
    public static final String STATUS_DISABLE = "禁用";

    String versionCode;//bom版本号1
    String bomName;//自定义BOM表名称
    String createUserName;//创建人名称
    String createUserId;//创建人id
    Date createTime;
    String auditUserName;//审核人名称
    String auditUserId;//审核人id
    Date auditTime;
    GoodsSpecs goodsSpecs;//BOM所属的产品
    String memo;
    String status;
    String companyId;
    String batchId;// 如果有就是导入文件来的


    @ManyToOne(targetEntity = GoodsSpecs.class, fetch = FetchType.EAGER)
    @JoinColumn(name = "goods_specs_id")
    public GoodsSpecs getGoodsSpecs() {
        return goodsSpecs;
    }

    @Column(columnDefinition = "text")
    public String getMemo() {
        return memo;
    }

    //    public static final String STATUS_NEW = "新建";
//    public static final String STATUS_BACK = "退回";
//    public static String HANDLE_USER_ROLE_NAME = "技术处理人";
//    public static final String WAIT_AUDIT = "待审批";
//    public static final String STATUS_PLAN = "生产规划";
//    public static final String STATUS_PLANNING = "计划中";
//    public static final String STATUS_IN_ACTION = "已投产";
//    public static final String STATUS_IN_PRODUCTION = "在产";
//    public static final String IS_DONE = "已完成";
//    String materialStatus;//物料计划状态
//    String versionCode;//bom版本号1
//    String produceType;//
//    String produceName;
//    String createUserName;
//    String auditUser;
//    String createUserId;
//    String memo;
//    AttachFile bomFile;
//    Date createTime;
//    Double budgetCost;//预算成本
//    Long rowNum;
//    Integer unitNum;//部件数
//    Long componentNum;//零件数
//    Date toProductionTime;//投产时间
//    String toProductionUserName;//投产人姓名
//    String status;
//    Long componentTypeNum;//零件分类数
//    String companyId;
//    String bomType;//项目、整改、内测
//    String editType;//客情、业务、技术、质量
//    Standard standard;//标准产品
//    Order order;
//    Date planTime;
//    String orderLevel;//订单的等级：加急、优先、正常、准备
//    Date doneTime;//完成时间
//    String lastActivationFlowId; //最后激活流程


}
